A common scenario occurs in account migration: A user has been playing a video game and upgrades from an anonymous account to a user-identified account. He needs all his data from various game and platform components to move to the new account. The challenge is that each component typically has its own procedures for account migration and thus ensuring that each migration process is completed, consistent, and error tolerant is difficult.
Existing coordination systems feature a “fat” centralized coordinator, where the centralized coordinator has to track and monitor many different aspects of a distributed transaction. In this type of system, completion status, dependencies, pre-conditions, and other details of every process in the transaction have to be carefully monitored by the centralized coordinator to ensure the transaction is successfully carried to completion. Transactions are carried out on a periodical basis via scheduled tasks defined by the centralized coordinator. The protocol for this system is complicated and inefficient, and the centralized coordinator itself is costly to implement and maintain. Microsoft Distributed Transaction Coordinator® (DTC) is one implementation of this system.